import { getCurrentInstance } from "vue";
import { IResultOr } from "@/api/interface"; // 返回接口类型
import { userSignApi, userLoginApi } from "@/api/login/index"; // 登录、注册接口
import { useStore } from "@/store";

// 规范参数
interface IRuleForm {
  mobile: string,
  password: string,
}

export default function useFormOperate (router: any, params: any) {
  const { proxy }: any = getCurrentInstance();
  const store = useStore();
  // 注册接口
  function userSign(params: IRuleForm) {
    userSignApi(params).then((res: IResultOr) => {
      const { success, message } = res;
      if (success) {
        proxy.$message.success(message);
      } else {
        proxy.$message.error(message);
      }
    });
  }
  // 登入接口
  function userLogin(params: IRuleForm) {
    userLoginApi(params).then((res: IResultOr) => {
      const { success, message, result } = res;
      if (success) {
        // 先存储status登录状态
        store.commit("setUserState", result.status);
        // localStorage.setItem("userStatus", result.status);
        proxy.$message.success(message);
        // 进入首页
        // 还是希望不刷新当前页面时 去预取数据
        router.push({ name: "home" });
        // 使用下面的方式可以避免登录后进入页面 页面不显示数据 下面这种方法会刷新页面
        // window.location.href = "home";
      } else {
        proxy.$message.error(message);
      }
    });
  }

  return {
    userSign,
    userLogin
  };
}
